import 'package:flutter/material.dart';

/// 获取名称的首字母（支持中文和英文）
String getInitials(String name) {
  if (name.isEmpty) return '?';
  
  // 移除职位信息（如果有 "-" 分隔符）
  final displayName = name.split(' - ').first.trim();
  
  // 如果是中文，取第一个字符
  if (displayName.isNotEmpty && displayName.runes.first > 127) {
    return displayName.substring(0, 1).toUpperCase();
  }
  
  // 如果是英文，取第一个字母
  final firstChar = displayName[0];
  if (firstChar.toUpperCase() != firstChar.toLowerCase()) {
    return firstChar.toUpperCase();
  }
  
  // 如果都不是，返回第一个字符
  return displayName[0].toUpperCase();
}

/// 根据首字母生成颜色
Color getAvatarColor(String initial) {
  final colors = [
    const Color(0xFF4CAF50), // Green
    const Color(0xFF2196F3), // Blue
    const Color(0xFF9C27B0), // Purple
    const Color(0xFFF44336), // Red
    const Color(0xFFFF9800), // Orange
    const Color(0xFF00BCD4), // Cyan
    const Color(0xFFE91E63), // Pink
    const Color(0xFF795548), // Brown
    const Color(0xFF607D8B), // Blue Grey
    const Color(0xFF3F51B5), // Indigo
  ];
  
  final index = initial.codeUnitAt(0) % colors.length;
  return colors[index];
}

/// 构建首字母头像 Widget
Widget buildInitialsAvatar(String name, {double size = 48}) {
  final initial = getInitials(name);
  final color = getAvatarColor(initial);
  
  return Container(
    width: size,
    height: size,
    decoration: BoxDecoration(
      color: color,
      borderRadius: BorderRadius.circular(size / 12),
    ),
    child: Center(
      child: Text(
        initial,
        style: TextStyle(
          color: Colors.white,
          fontSize: size * 0.4,
          fontWeight: FontWeight.bold,
        ),
      ),
    ),
  );
}

